#include <stdio.h>
#include <stdlib.h>
#include "TDA_parser.h"
#include <string.h>

int TParser_Crear(TParser* p){
    TLexico_Crear(&p->al);
    TSintactico_Crear(&p->as);
    TLexico_setAnalizadorSintactico(&p->al,&p->as);
    return 0;
}

int TParser_PushChar(TParser* p, char c){
    return(TLexico_PushChar(&p->al,c));
}

int TParser_terminarFlujo(TParser* p){
    int ce;
    ce=TLexico_terminarFlujo(&p->al);
    if(ce)
       return ce;
    TParser_Crear(p);
    return 0;
}

int TParser_getUltimoError(TParser* p, int* codigo, char* mensaje){
    TLexico_getUltimoError(&p->al,codigo,mensaje);
    return 0;
}

int TParser_setCallback(TParser *p, int evento, void* tda_contexto, int(*callback)(const void*, int, const void*) ){
    TLexico_setCallback(&(p->al), evento, tda_contexto, callback);
    return 0;
}
